﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ipaidabribe.Code;

namespace ipaidabribe
{
    public partial class Site2 : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //if (isMobileBrowser())
            //{
            //    Response.Redirect("http://toidihoilo.com/m");
            //}

            var db = new ipaidabribeEntities();
            //tổng số toàn quốc
            Thongke thongke = new Thongke();
            var tq = thongke.ThongkeTq();
            if (tq > 0)
            {
                lblTotalTQ.Text = String.Format("{0:0,0}", tq);
            }
            //top 5 thành phố
            var top5 = thongke.ThongkeTop5Tp();
            if (top5.Count > 0)
            {
                Repeater2.DataSource = top5;
                Repeater2.DataBind();
            }
            //top hot
            var hot = db.Bribes.Where(t => t.Enable != false).OrderByDescending(t => t.TotalComment).Take(5).ToList();
            for (int i = 0; i < hot.Count; i++)
            {
                hot[i].Cat = i + 1;

                if (HttpUtility.HtmlDecode(hot[i].Title).Length > 60)
                    hot[i].Title = HttpUtility.HtmlDecode(hot[i].Title).Substring(0, 60) + "...";
            }
            Repeater3.DataSource = hot;
            Repeater3.DataBind();
            //top new
            var toplastest = db.Bribes.Where(t => t.Enable != false).OrderByDescending(t => t.Id).Take(5).ToList();
            for (int i = 0; i < toplastest.Count; i++)
            {
                if (HttpUtility.HtmlDecode(toplastest[i].Title).Length > 60)
                    toplastest[i].Title = HttpUtility.HtmlDecode(toplastest[i].Title).Substring(0, 60) + "...";
                if (i == toplastest.Count - 1)
                    toplastest[i].Transaction = "border-bottom: none; padding-bottom: 10px;";
                else
                {
                    toplastest[i].Transaction = "";
                }
            }
            Repeater4.DataSource = toplastest;
            Repeater4.DataBind();
        }

        public static bool isMobileBrowser()
        {
            //GETS THE CURRENT USER CONTEXT
            HttpContext context = HttpContext.Current;

            //FIRST TRY BUILT IN ASP.NT CHECK
            if (context.Request.Browser.IsMobileDevice)
            {
                return true;
            }
            //THEN TRY CHECKING FOR THE HTTP_X_WAP_PROFILE HEADER
            if (context.Request.ServerVariables["HTTP_X_WAP_PROFILE"] != null)
            {
                return true;
            }
            //THEN TRY CHECKING THAT HTTP_ACCEPT EXISTS AND CONTAINS WAP
            if (context.Request.ServerVariables["HTTP_ACCEPT"] != null &&
                context.Request.ServerVariables["HTTP_ACCEPT"].ToLower().Contains("wap"))
            {
                return true;
            }
            //AND FINALLY CHECK THE HTTP_USER_AGENT 
            //HEADER VARIABLE FOR ANY ONE OF THE FOLLOWING
            if (context.Request.ServerVariables["HTTP_USER_AGENT"] != null)
            {
                //Create a list of all mobile types
                string[] mobiles =
                    new[]
                {
                    "midp", "j2me", "avant", "docomo", 
                    "novarra", "palmos", "palmsource", 
                    "240x320", "opwv", "chtml",
                    "pda", "windows ce", "mmp/", 
                    "blackberry", "mib/", "symbian", 
                    "wireless", "nokia", "hand", "mobi",
                    "phone", "cdm", "up.b", "audio", 
                    "SIE-", "SEC-", "samsung", "HTC", 
                    "mot-", "mitsu", "sagem", "sony"
                    , "alcatel", "lg", "eric", "vx", 
                    "NEC", "philips", "mmm", "xx", 
                    "panasonic", "sharp", "wap", "sch",
                    "rover", "pocket", "benq", "java", 
                    "pt", "pg", "vox", "amoi", 
                    "bird", "compal", "kg", "voda",
                    "sany", "kdd", "dbt", "sendo", 
                    "sgh", "gradi", "jb", "dddi", 
                    "moto", "iphone"
                };

                //Loop through each item in the list created above 
                //and check if the header contains that text
                foreach (string s in mobiles)
                {
                    if (context.Request.ServerVariables["HTTP_USER_AGENT"].
                                                        ToLower().Contains(s.ToLower()))
                    {
                        return true;
                    }
                }
            }

            return false;
        }
    }
}